﻿#define _CRT_SECURE_NO_WARNINGS

#include<iostream>
using namespace std;
//class Date
//{
//public:
//
//	Date(int year = 1, int month = 1, int day = 1)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//	// void Print(const Date* const this) const
//	void Print() const
//	{
//		cout << _year << "-" << _month << "-" << _day << endl;
//	}
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//int main()
//{
//	// 这⾥⾮const对象也可以调⽤const成员函数是⼀种权限的缩⼩
//	Date d1(2024, 7, 5);
//	d1.Print();
//	const Date d2(2024, 8, 5);
//	d2.Print();
//	return 0;
//}

class Date
{
public:
	Date* operator&()
	{
		return (Date*)0x11223344;
		// return nullptr;
	}
	const Date* operator&()const
	{
		return (Date*)0x11223344;
		// return nullptr;
	}
private:
	int _year; // 年
	int _month; // ⽉
	int _day; // ⽇
};

int main()
{
	Date d1, d2;
	cout << &d1 <<endl<< &d2 << endl;
	return 0;
}
